<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
<%@page session="false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Home Page</title>
</head>
<body>
Dear <strong>${user}</strong>, Welcome to List Page.
<a href="<c:url value="/logout" />">注销</a>
<a href="<c:url value="/logout1" />">注销</a>
<br/>
<br/>
<div>
    <label>展示所有用户信息| 此部分每一个登录人都能看到</label>
</div>
<br/>
<div>
    <table>
        <tr bgcolor="#faebd7">
            <td>编号</td>
            <td>登录ID</td>
            <td>名称</td>
            <td>密码</td>
            <td>所属部门</td>
            <td>创建时间</td>
            <td>操作</td>
        </tr>
        <c:forEach var="u" items="${users}">
            <tr>
                <td>${u.id}</td>
                <td>${u.loginId}</td>
                <td>${u.name}</td>
                <td>${u.password}</td>
                <td>${u.createDate}</td>
                <td>
                    <sec:authorize access="hasRole('ADMIN')">
                        <a href="/saveUser">修改</a>&nbsp;&nbsp;&nbsp;
                    </sec:authorize>
                    <sec:authorize access="hasAnyRole('ADMIN','DBA')">
                        <a href="/delUser">删除</a>
                    </sec:authorize>
                </td>
            </tr>
        </c:forEach>
    </table>
</div>

<!--
    说明： form 中的 action的值 为 /login 为 security 登录验证密码的默认登录地址
    与 controller 中的 login 方法没有直接关系。
    spring security 3.x 默认的登录拦截URL是/j_spring_security_check,
    而spring security 4.x默认拦截的URL是/login
    spring security 3.x 默认的登出地址为 /j_spring_security_logout
    而spring security 4.x默认拦截的URL是/logout
  -->
<!--
    如果需要手动以编码的方式注销程序：
            配置value="/logout1" Controller里面有对应 logout1
    spring security 有自带的  value="/logout" 无需再Controller里面写代码
    一样能处理注销，只是不能有自己的业务逻辑
-->
</body>
</html>